package com.focus.pay.ali.model.order;

import com.alipay.api.domain.ExtUserInfo;
import com.alipay.api.domain.ExtendParams;
import com.alipay.api.domain.GoodsDetail;
import com.alipay.api.domain.SignParams;
import com.focus.pay.core.domain.PayModelDomain;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;


@Data
@Builder
public class AliPayModelApp extends PayModelDomain {

    /**
     * 商户订单号
     */
    private String out_trade_no;

    /**
     * 订单总金额
     */
    private BigDecimal total_amount;

    /**
     * 订单标题
     */
    private String subject;

    /**
     * 产品码
     */
    private String product_code;

    /**
     * 订单附加信息
     */
    private String body;

    /**
     *订单包含的商品列表信息
     */
    private List<GoodsDetail> GoodsDetail;

    /**
     * 订单绝对超时时间
     */
    private String time_expire;

    /**
     * 订单相对超时时间。从买家确认支付时间开始计算.
     */
    private String timeout_express;

    /**
     * 业务扩展参数
     */
    private ExtendParams ExtendParams;

    /**
     * 优惠参数
     */
    private String promo_params;

    /**
     * 公用回传参数
     */
    private String passback_params;

    /**
     * 签约参数
     */
    private SignParams SignParams;

    /**
     * 商户门店编号
     */
    private String store_id;

    /**
     * 指定支付渠道，多个渠道以逗号分割
     */
    private String enable_pay_channels;

    /**
     * 指定单通道，仅支持传入一个渠道
     */
    private String specified_channel;

    /**
     * 禁用渠道,用户不可用指定渠道支付，多个渠道以逗号分割
     */
    private String disable_pay_channels;

    /**
     * 商户的原始订单号
     */
    private String merchant_order_no;

    /**
     * 	外部指定买家
     */
    private ExtUserInfo ExtUserInfo;
}
